﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Common;
using BusinessLayer;

namespace BoletoElectronicoDesktop
{
    public partial class FormBase : Form
    {
        public FormBase(Util.Funcionalidad Func)
            : base()
        {
            InitializeComponent();
            if (!LoggedIn)
            {
                Login.FormLogin frm = new BoletoElectronicoDesktop.Login.FormLogin(Func);
                frm.Owner = this;
                frm.ShowDialog();
                LoggedIn = true;
            }
            if (!UserAllowed(Func))
            {
                throw new ApplicationException("Su usuario no tiene acceso a la funcionalidad requerida");
            }
        }

        public static bool LoggedIn { get; set; }
        
        public static bool LogIn(string Username, string EncryptedPass)
        {
            LoggedIn = BizAdmin.LogIn(Username, EncryptedPass);
            
            return LoggedIn;
        }

        public static bool UserAllowed(Common.Util.Funcionalidad Func)
        {
            return BizAdmin.UserLoggedInAllowed(Func);
        }

        public Util.Funcionalidad MiFuncionalidad { get; set; }
        /// <summary>
        /// Mantener la Estructura Alta Baja Modificacion Consulta
        /// Ya que la misma se utiliza en Las subClases de permisos
        /// </summary>
        

    }
}
